// 箭头函数的 this 是静态绑定的(可能静态绑定一个动态值)

let 对象 = {
    姓名: '查理',
    打招呼() {
        setTimeout(
            () => {
                console.log(this.姓名);
            },
            1000,
        );
    },
};

对象.打招呼();

console.log('-'.repeat(25));
对象 = {
    姓名: '查理',
    打招呼: () => {
        setTimeout(
            () => {
                console.log(this);
            },
            1000,
        );
    }, // 打招呼是词法作用域, 以闭包的形式获取外层 this, 故为 undefined
    打招呼1() {
        setTimeout(() => {
            console.log(this.姓名);
        }, 1000);
    }, // 打招呼1方法的 this 是在运行时指定, 指向调用对象
};

对象.打招呼();
对象.打招呼1();
